(1) Field of the Invention
This invention relates generally to image processing and relates more particularly to methods to convert the resolution of digital images.
(2) Description of the Prior Art
Resolution conversion or scaling reduces the size of a digital image through a process called decimation, or enlarges the size by replication or interpolation. The amount of storage needed to store digital images is directly depending upon the resolution used. Decimation removes pixels in a frame to reduce the size of an image and to reduce the amount of storage needed to store or to process said image. Replication enlarges images by duplicating pixels; Interpolation can be used for decimation and for enlargement by averaging the values of neighboring pixels.
Usually different color spaces are being used to describe color images. YUV and YcbCr color spaces are getting more and more important.
The YUV color space is characterized by the luminance (brightness), “Y”, being retained separately from the chrominance (color). There is a simple mathematical transformation from RGB: Y is approximately 30% Red, 60% Green, and 10% Blue, the same as the definition of white above. U and V are computed by removing the “brightness” factor from the colors. By definition, U=Blue−Yellow, thus U represents colors from blue (U>0) to yellow (U<0). Likewise V=Red−Yellow, thus V represents colors from magenta (V>0) to Cyan (blue green) (V<0)
The YCbCr color space was developed as part of recommendation CCIR601. YCbCr color space is closely related to the YUV space, but with the coordinates shifted to allow all positive valued coefficients:Cb=(U/2)+0.5Cr=(V/1.6)+0.5
When a video waveform is digitized so that 100 pixels are produced, but only every other one is stored or used, the video waveform is decimated by a factor of 2:1. The image is now ¼ of its original size, since ¾ of the data is missing. If only one out of five pixels were used, then the image would be decimated by a factor of 5:1, and the image would be 1/25 its original size. This kind of decimation, then, is a quick-and-easy method for image scaling and is in fact the method used by low-cost systems that scale video into a window. Decimation can be performed in several ways. One way is the method just described, where data is literally thrown away. Even though this technique is easy to implement and cheap to build, it generally introduces image artifacts unacceptable to medium- to high-end customers. Another method is to use a decimation filter. This reduces the image artifacts to an acceptable level by smoothing them out, but is more costly to implement than the method of just throwing data away.
Interpolation is a mathematical way of regenerating missing or needed information. If, for example, an image needs to be scaled up by a factor of two, from 100 pixels to 200 pixels, interpolation is one possibility to perform said enlargement. Interpolating between the existing pixels of the original image generates the missing pixels. Another method is the replication of existing pixels. It is obvious that simple replication of existing pixels is a quick-and-easy solution but does not the same quality as an interpolation of pixels.
The challenge of the designer of image systems is to develop methods either to reduce or to enlarge images that are fast and easy and still provide high quality images.
There are various solutions dealing with said design problem:
U.S. patent (U.S. Pat. No. 6,453,074 to Zheng.) describes an image decimation of a high-resolution input image so as to obtain a decimated low-resolution image. Image decimation includes adaptive pre-filtering in which a pixel-by-pixel determination is made of busyness in the neighborhood of a target pixel, and based on the determination of busyness a low-pass filter is selectively and adaptively applied prior to sub-sampling to obtain the decimated image.
U.S. patent (U.S. Pat. No. 6,424,381 to Mendenhall et al.) discloses a video decoder decimation of an input image to produce a decimated output image. The video decoder uses approximately every line of pixels in the input image to compute the lines of pixels in the decimated image. The video decoder includes a vertical decimation filter that computes an average, and preferably a weighted average, of luminance (luma) values associated with pixels from each of four lines in the input image. The decimation filter preferably computes a weighted average of lumas from four adjacent lines of pixels from the input image, which may represent a frame, or a field of video data. The weighted average preferably uses coefficients that weight each luma in the calculation differently. After calculating all of the luma values for a particular line of the decimated image, the line number associated with the first of the four adjacent lines is incremented by four (in a field-based system) to determine the initial line number for calculating the next line in the decimated image. The new initial line number thus represents the first line number of the set of four adjacent lines used to calculate the new line in the decimated image. This technique advantageously results in a high quality decimated image because each line from the initial image is used to compute the decimated image.
U.S. patent (U.S. Pat. No. 6,252,906 to Canfield) describes a video processor receiving coded digital image data, which is decoded into MPEG compatible pixel blocks. The pixel blocks are horizontally and vertically decimated to produce a reduced size image suitable for picture-in-picture, picture-on-picture, or picture-in-graphics display. Decoded input data to the decimation network is alias filtered and decimated at a factor of 8 to 3. Decimated output pixel data is derived solely from a respectively associated decoded input pixel block.